// city
package parser

import (
	"regexp"
	"crowler/engine"
)

const cityRe = `<a href="(http://album.zhenai.com/u/[0-9]+)"[^>]+>([^<]+)</a>`

func ParseCity(contents []byte) engine.ParseResult {

	re := regexp.MustCompile(cityRe)


	match := re.FindAllSubmatch(contents, -1)

	result := engine.ParseResult{} // 声明一个结构对象

	for _, m := range match {
		name := string(m[2])
		result.Items = append(result.Items,name)  // Items 为 interface 可以接受任何类型的数据
		result.Requests = append(                 // Requests 为一个struct 结构
			result.Requests,engine.Request{
				Url:string(m[1]),   //URL 结果累加 ，之后继续执行  ParsetFunc
				ParsetFunc: func(c []byte) engine.ParseResult {
					 return  ParseProfile(c,name)  // 返回 ParseResult struct ，其中 Items 就是 匹配的数据
				},})
	}

	return result
	
}
